namespace AbpCqrsTest
{
	using Abp.Dependency;
	using Abp.Modules;
	using Abp.Reflection.Extensions;
	using Abp.TestBase;
	
	using AbpPlus;
	using AbpPlus.Events;
	using AbpPlus.Extentions;

	/// <summary>
	/// The abp cqrs test module.
	/// </summary>
	[DependsOn(
		typeof(AbpCqrsModule),
		typeof(AbpTestBaseModule))]
	public class AbpCqrsTestModule : AbpModule
	{
		/// <summary>
		/// The pre initialize.
		/// </summary>
		public override void PreInitialize()
		{
			this.IocManager.Register<IEventStore, EventStore>(DependencyLifeStyle.Transient);
		}

		/// <summary>
		/// The initialize.
		/// </summary>
		public override void Initialize()
		{
			var assembly = typeof(AbpCqrsTestModule).GetAssembly();
			this.IocManager.RegisterAssemblyHandler(assembly);
			this.IocManager.RegisterAssemblyByConvention(assembly);
		}

		/// <summary>
		/// The post initialize.
		/// </summary>
		public override void PostInitialize()
		{
		}
	}
}